﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace APILocawebGatewayUI.REDECARD
{
    public sealed class RedecardUtilidades
    {
        /// <summary>
        /// Este método formata um decimal para a configuração usada na confirmação REDECARD
        /// Exemplo: 
        /// input:1,00-output:1.00
        /// input:1,0000-output:1.00
        /// input:10,00-output:10.00  
        /// </summary>
        /// <param name="currency"></param>
        /// <returns></returns>
        internal static string FormataMoedaParaConfirmacao(Decimal currency)
        {
            var valor = currency.ToString("0.00");

            if (!valor.Contains(","))
                valor = valor.Insert(valor.Count() - 2, ".");
            else
                valor = valor.Replace(",", ".");

            return valor;

        }

        /// <summary>
        /// Retorna valor da variável na querystring
        /// </summary>
        /// <param name="queryString"></param>
        /// <param name="chave"></param>
        /// <returns></returns>
        public static string PesquisarQueryString(string queryString, string chave)
        {
            string resposta = null;
            if (queryString.Length > 0 && queryString.Contains(chave))
            {

                for (int i = 0; i < queryString.Split('_').Length; i++)
                {
                    string subQuery = queryString.Split('_')[i];
                    string subQueryKey = subQuery.Split('-')[0];
                    string subQueryValue = subQuery.Split('-')[1];
                    if (subQueryKey.ToLower() == chave.ToLower())
                        return subQueryValue;
                }
            }
            return resposta;
        }

        [Obsolete("O método Nucleo.Utilidades.FormatarValorMoedaParaFormulario pode ser usado de maneira geral")]
        public static String FormataMoedaParaForm(Decimal value)
        {

            return Nucleo.Utilidades.FormatarValorMoedaParaFormulario(value);
        }
    }
}